/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package net.sf.parteg.base.testcasegraph.generated.validation;

import net.sf.parteg.base.testcasegraph.generated.TCGDisjunctiveNormalForm;
import net.sf.parteg.base.testcasegraph.generated.TCGNode;
import net.sf.parteg.base.testcasegraph.generated.TCGOCLExpression;
import net.sf.parteg.base.testcasegraph.generated.TCGParameter;
import net.sf.parteg.base.testcasegraph.generated.TCGTransition;

import net.sf.parteg.base.testcasegraph.generated.TestCaseGraph;
import net.sf.parteg.base.testcasegraph.generated.TestCaseRegion;
import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EObject;

/**
 * A sample validator interface for {@link net.sf.parteg.base.testcasegraph.generated.TCGNode}.
 * This doesn't really do anything, and it's not a real EMF artifact.
 * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
 * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
 */
public interface TCGNodeValidator {
	boolean validate();

	boolean validateName(String value);
	boolean validateCondition(TCGDisjunctiveNormalForm value);

	boolean validateCondition(TCGOCLExpression value);
	boolean validateIncomingTransitions(EList<TCGTransition> value);
	boolean validateOutgoingTransitions(EList<TCGTransition> value);
	boolean validateParameters(EList<TCGParameter> value);
	boolean validateDistanceToRoot(long value);
	boolean validateCorrespondsNegativeExpression(boolean value);
	boolean validateOriginalExpression(EObject value);
	boolean validateInvariant(TCGOCLExpression value);
	boolean validateOriginalNode(EObject value);

	boolean validateSubGraph(TestCaseGraph value);

	boolean validateContainer(TestCaseRegion value);

	boolean validateReferencedConnectionPointReferences(EList<TCGNode> value);

	boolean validateReferencedConnectionPointReference(EList<TCGNode> value);

	boolean validateReferencedConnectionPointReference(TCGNode value);

	boolean validateReferencedconnectionpointreference(TCGNode value);

	boolean validateReferencedConnectionPoints(EList<TCGNode> value);

	boolean validateContainedConnectionPointReferences(EList<TCGNode> value);

	boolean validateContainedConnectionPoints(EList<TCGNode> value);

	boolean validateConnectionpointreference(TCGNode value);

	boolean validateConnectionpoints(EList<TCGNode> value);

	boolean validateUseAllTransitionsInParallel(boolean value);

	boolean validateIsPseudoState(boolean value);

	boolean validateReferencedSubmachine(TestCaseGraph value);

	boolean validateMinDistanceFromStart(int value);

	boolean validateConnectionpointreferences(EList<TCGNode> value);

	boolean validateConnectionpoint(TCGNode value);
}
